openapi: 3.0.1
info:
  title: CR - Certifier to ePlanning API
  description: Certification Register Management API for Private Certifier
  contact: {}
  version: v1
servers:
  - url: https://api-uat.apps1.nsw.gov.au/planning/CRMgmt/PrivateCertifiers/v1
paths:
  /CreateCRCase/:
    post:
      summary: CreateCRCase
      description: >-
        This operation transfers the certificate registration application
        entered by the certifier from their IT system to the Online Certificate
        Registration Service.By performing this operation, the certifier is
        providing their consent to all declarations when registering the
        application with Council in the Certificate Registration service. For
        more information on the applicable declarations, please refer to the key
        'consentlist' using the 'Reference Data API'.
      operationId: CreateCase
      parameters:
        - name: OrganisationID
          in: header
          description: The Certifier name to indicate where the request is originated from
          required: true
          schema:
            type: string
      requestBody:
        description: body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCRCase'
        required: true
      responses:
        '200':
          description: CR-xxxx-xxxx Case has been created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/success'
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /OnlineCRCaseDetails/:
    get:
      summary: OnlineCRCaseDetails
      description: >-
        This operation enables the relevant organisation to request ePlanning to
        send the list of case ids, submitted date, Certifiers Certificate
        Reference Number, DA Number, CDC number, Accreditation No and
        certificate type in to their IT system.
      operationId: OnlineCRCaseDetails
      parameters:
        - name: OrganisationID
          in: header
          description: >-
            The relevant organisation name to indicate where the request is
            originated from.
          schema:
            type: string
        - name: accreditationNumber
          in: header
          description: This refers to the the Registration Number of the certifier.
          schema:
            type: string
        - name: certifiersCertificateReferenceNumber
          in: header
          description: >-
            This refers to the certifiers Certificate reference number. This is
            enabled with partial match search using the 'contains' condition.
            The minimum character length is set to 5.
          required: true
          schema:
            type: string
        - name: DANumber
          in: header
          description: This refers to the DAnumber that is related to the certificate.
          schema:
            type: string
        - name: CDCNumber
          in: header
          description: This refers to the CDCnumber that is related to the certificate.
          schema:
            type: string
        - name: caseCreatedStartDate
          in: header
          description: >-
            This refers to the timelines of the case creation date. Timeline
            searches can be acheived through this attribute. Date format is
            "yyyy-MM-dd".
          schema:
            type: string
            format: date
        - name: caseCreatedEndDate
          in: header
          description: >-
            This refers to the timelines of the case creation date. Timeline
            searches can be acheived through this attribute. Date format is
            "yyyy-MM-dd".
          schema:
            type: string
            format: date
        - name: certificateType
          in: header
          description: >-
            This refers to the type of certificate for which the case has been
            created.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Case updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CRCaseDetailsResponse'
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      deprecated: false
  /UpdateCRCase/{CaseID}:
    put:
      summary: UpdateCRCase
      description: >-
        This operation updates the certificate registration application entered
        by the certifier from their IT system to the Online Certificate
        Registration Service.By performing this operation, the certifier is
        providing their consent to all declarations when registering the
        application with Council in the Certificate Registration service. For
        more information on the applicable declarations, please refer to the key
        'consentlist' using the 'Reference Data API'.
      operationId: UpdateCase
      requestBody:
        description: body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCRCase'
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number or case id
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: The Certifier name to indicate where the request is originated from
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Case Updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/success'
        '400':
          description: Invalid request supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Location:
      type: object
      properties:
        address:
          maxLength: 250
          type: string
          description: >-
            Address where the development is happening.Mandatory when
            addressDidNotDisplay is true.
          example: 19-33 Elizabeth Street, Narrandera, 2700
        gurasID:
          type: integer
          description: >-
            This infers the gurasID which helps to fetch the address where the
            development is happening.It is mandatory when addressDidNotDisplay
            is false or NULL.
          example: 2636480
        lga:
          type: string
          description: >-
            This infers the LGA for which the respective address belongs to.It
            is mandatory when addressDidNotDisplay is true.
          example: BLACKTOWN
        LotList:
          type: array
          items:
            $ref: '#/components/schemas/LotSectionPlan'
        isPrimary:
          type: boolean
          description: >-
            This infers the selected address is the primary address if multiple
            address were given. It is mandatory for atleast one address.
    LotSectionPlan:
      type: object
      properties:
        lotsectionplan:
          type: string
          description: >-
            lots where the development is happening.Not required when
            addressDidNotDisplay is true.
          example: 1/-/SPXXXXX
        lotNumber:
          type: string
          description: >-
            This infers the lotNumber of the development site address where the
            development is happening.It is mandatory when addressDidNotDisplay
            is true.
          example: '333'
        planNumber:
          type: string
          description: >-
            This infers the planNumber of the development site address where the
            development is happening.It is mandatory when addressDidNotDisplay
            is true.
          example: '111'
        sectionNumber:
          type: string
          description: >-
            This infers the sectionNumber of the development site address where
            the development is happening.
          example: '222'
    Error:
      required:
        - errorCode
        - statusCode
      type: object
      properties:
        statusCode:
          type: integer
          example: 404
        message:
          type: string
          example: Internal Server error 19876
        activityId:
          type: string
          example: 00000011-0ab-xy00-0000-500000000000
        errorCode:
          type: string
          example: DPE_TMS01
        errorDetails:
          type: string
          example: Inner Exceptions, Stack Trace, etc
    success:
      type: object
      properties:
        statusCode:
          type: integer
          example: 200
        message:
          type: string
          example: CR-XXXX-XXXX Case has been created successfully
        activityId:
          type: string
        caseID:
          type: string
          example: CR-XXXX-XXXX
        Documents:
          type: array
          description: Attached documents with eplanningDocIds.
          items:
            $ref: '#/components/schemas/DocResponse'
    DownloadableDocument:
      required:
        - documentName
        - documentType
        - documentURL
        - uploadedDateTime
      type: object
      properties:
        documentName:
          maxLength: 150
          type: string
          description: documentName has to be appended with file extension
          example: test.docx
        documentType:
          maxLength: 100
          type: string
        uploadedDateTime:
          type: string
          format: date-time
        documentURL:
          maxLength: 500
          type: string
          description: URL of the document to be downloaded
          format: uri
    CreateCRCase:
      required:
        - CertificateDetails
        - CertificateIssuedBy
        - CertificateType
        - CertifierDetails
        - ConsentList
        - ContactDetails
      type: object
      properties:
        CertificateType:
          type: string
          description: >-
            It infers the certificate type. One of the below mentioned values
            must be selected for One of the below mentioned values must be
            selected for CertificateType.  For latest values, please refer to
            the reference data API. 1. Complying Development Certificate (CDC)
            2. Construction Certificate (CC) 3. Occupation Certificate (OC) 4.
            Subdivision Certificate (SC) 5. Subdivision Works Certificate (SWC)
            6. Other
          example: Refer to description for values
        EnterCertificateType:
          maxLength: 50
          type: string
          description: Required only when user selects OTHER in Certificate type
        parentCaseID:
          type: string
          description: >-
            This indicates the parentCaseID for which the Certificate
            registration is requested for. It refers to the PCC certificate ID
            (CFT-XXXX) or the Complying development Certificate ID (CDC-XXXX). A
            CR case will be created and linked to this parentCaseID.
          example: CDC-XXXXX
        registrationAuthority:
          type: string
          description: >-
            This indicates the registration authority to whom the CR application
            is routed to. Registration authority can be either councils or
            agencies. Council value is enabled as a default value to support
            existing customers. Below are the list of values 1. Council 2.
            Department of Planning and Environment 3. Sydney Olympic Park
            Authority 4. Transport for NSW 5. Lord Howe Island Board
        isExistingCR:
          type: boolean
          description: >-
            This indicates if the user is applying for a modification CR or a
            new CR.'true' value to be used for modificiation CR. 'false' value
            to be used for a new CR, which is also a default value. This is
            applicable for CDC CRs only.
        existingCRRegistrationDate:
          type: string
          description: >-
            This indicates on what date was the application to be modified
            registered. This is applicable for modification CDC CRs only
            (isExistingCR = true).
          format: date
        existingCRNumber:
          type: string
          description: >-
            This indicates the existing CR application number. This is
            applicable for modification CDC CRs only. (isExistingCR = true).
        proposedModification:
          type: string
          description: >-
            This indicates the description of the proposed modification. This is
            applicable for modification CDC CRs only (isExistingCR = true).
        wasExistingCRAppliedViaNSWPortal:
          type: boolean
          description: >-
            This indicates if the CR applied for was via the NSW planning
            portal. This is applicable modification CDC CRs only (isExistingCR =
            true).
        existingNSWPortalCRNumber:
          type: string
          description: >-
            This indicates the existing CR number that's obtained through NSW
            planning portal. This is applicable  when
            'wasExistingCRAppliedViaNSWPortal' is true.
        ContactDetails:
          $ref: '#/components/schemas/Contact'
        CertificateIssuedBy:
          type: boolean
          description: >-
            Is the certificate was issued by the contact, same as above contact
            details
        CertifierDetails:
          $ref: '#/components/schemas/CertifierDetails'
        CertificateDetails:
          $ref: '#/components/schemas/CertificateInformation'
        ApplicantDetails:
          required:
            - address
            - name
          type: object
          properties:
            name:
              maxLength: 50
              type: string
              description: Mandatory
            address:
              maxLength: 250
              type: string
              description: Mandatory
            companyName:
              maxLength: 250
              type: string
              description: optional
        BuilderList:
          type: array
          description: >-
            This is to track the Builder List. This field is not required for
            'Subdivision Certificate (SC)' and 'Other' certificate types. And it
            is mandatory for Occupation Certificate (OC) while optional for
            Complying Development Certificate (CDC),Construction Certificate
            (CC),Subdivision Works Certificate (SWC).
          items:
            $ref: '#/components/schemas/Builder'
        addressDidNotDisplay:
          type: boolean
          description: >-
            The respective attribute to be selcted as true if user wants to
            provide address manually and by not using spatial viewer.
        siteAddresses:
          type: array
          items:
            $ref: '#/components/schemas/Location'
        DevelopmentApplication:
          type: object
          properties:
            CostOfDevelopment:
              type: string
              description: reuired for Subdivision work certificate
            developmentDescription:
              type: string
              description: optional
        commonApplicationTypes:
          type: array
          items:
            $ref: '#/components/schemas/CommonApplicationType'
          description: >-
            This is to track the common Application types. This is applicable
            for CR-CC, CR-OC, CR-PCA and is required for it's corresponding
            parent cases that are created after 1st of September'23. Example
            values are 1. Advertising and signage 2. Alterations or additions to
            an existing building or structure 3. Change of use of land or a
            building or the classification of a building under the Building Code
            of Australia 4. Demolition 5. Erection of a new structure 6. Hours
            of operation and trading 7. Subdivision 8. Temporary building,
            structure or use
        subdivisionTypes:
          type: array
          items:
            type: string
          description: >-
            This is to track the appropriate subdivision types. This is
            applicable when 'Subdivision' is one of the common application
            type('commonApplicationTypes'). This is not applicable for CR-CC &
            CR-OC. Example values are 1. Strata Title 2. Community Title 3.
            Torrens Title 4. Stratum Title
        numOfExistingLots:
          type: integer
          description: >-
            This is to track the number of existing lots. This is applicable
            when 'Subdivision' is one of the common application
            type('commonApplicationTypes'). This is not applicable for CR-CC &
            CR-OC.
        numOfProposedLots:
          type: integer
          description: >-
            This is to track the number of proposed lots. This is applicable
            when 'Subdivision' is one of the common application
            type('commonApplicationTypes').This is not applicable for CR-CC &
            CR-OC.
        DevelopmentType:
          type: array
          items:
            $ref: '#/components/schemas/CRDevelopmentType'
        developmentPurpose:
          maxLength: 20
          type: string
          description: required only if 'OTHER' is selected for development type
        isDevAffectingExistingBuilding:
          type: boolean
          description: >-
            It infers that is Existing building affected by the development or
            not. If the value is Yes then Record of inspection document type is
            mandatory document to be provided. isDevAffectingExistingBuilding is
            mandatory field for Construction Certificate only.
        ConsentList:
          type: array
          items:
            $ref: '#/components/schemas/consentList'
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        createdByEmail:
          maxLength: 250
          type: string
          description: >-
            This indicates the email address of the user submitting CR. User
            must be registered in the planning portal and would belong to the
            relevant organisation.
          example: john.smith@gmail.com
    UpdateCRCase:
      required:
        - CertificateDetails
        - CertificateIssuedBy
        - CertificateType
        - CertifierDetails
        - ConsentList
        - ContactDetails
      type: object
      properties:
        CertificateType:
          type: string
          description: >-
            It infers the certificate type. One of the below mentioned values
            must be selected for One of the below mentioned values must be
            selected for CertificateType. For latest values, please refer to the
            reference data API. 1. Complying Development Certificate (CDC) 2.
            Construction Certificate (CC) 3. Occupation Certificate (OC) 4.
            Subdivision Certificate (SC) 5. Subdivision Works Certificate (SWC)
            6. Other
          example: Refer to description for values
        EnterCertificateType:
          maxLength: 50
          type: string
          description: Required only when user selects OTHER in Certificate type
        isExistingCR:
          type: boolean
          description: >-
            This�indicates�if�the�user�is�applying�for�a�modification�CR�or�a�new�CR.�'true'�value�to�be�used�for�modificiation�CR.
            'false'�value�to�be�used�for�a�new�CR, which is also a default
            value.�This�is�applicable�for�CDC�CRs�only.�
        existingCRRegistrationDate:
          type: string
          description: >-
            This indicates on what date was the application to be modified
            registered. This is applicable for modification CDC CRs only
            (isExistingCR = true).
          format: date
        existingCRNumber:
          type: string
          description: >-
            This indicates the existing CR application number. This is
            applicable for modification CDC CRs only. (isExistingCR = true).
        proposedModification:
          type: string
          description: >-
            This indicates the description of the proposed modification. This is
            applicable for modification CDC CRs only (isExistingCR = true).
        wasExistingCRAppliedViaNSWPortal:
          type: boolean
          description: >-
            This indicates if the CR applied for was via the NSW planning
            portal. This is applicable modification CDC CRs only (isExistingCR =
            true).
        existingNSWPortalCRNumber:
          type: string
          description: >-
            This indicates the existing CR number that's obtained through NSW
            planning portal. This is applicable  when
            'wasExistingCRAppliedViaNSWPortal' is true.
        registrationAuthority:
          type: string
          description: >-
            This indicates the registration authority to whom the CR application
            is routed to. Registration authority can be either councils or
            agencies. Council value is enabled as a default value to support
            existing customers. Below are the list of values 1. Council 2.
            Department of Planning and Environment 3. Sydney Olympic Park
            Authority 4. Transport for NSW 5. Lord Howe Island Board
        ContactDetails:
          $ref: '#/components/schemas/Contact'
        CertificateIssuedBy:
          type: boolean
          description: >-
            Is the certificate was issued by the contact, same as above contact
            details
        CertifierDetails:
          $ref: '#/components/schemas/CertifierDetails'
        CertificateDetails:
          $ref: '#/components/schemas/CertificateInformation'
        ApplicantDetails:
          type: object
          required:
            - name
            - address
          properties:
            name:
              type: string
              maxLength: 50
              description: Mandatory
            address:
              type: string
              maxLength: 250
              description: Mandatory
            companyName:
              type: string
              maxLength: 250
              description: optional
        BuilderList:
          type: array
          description: >-
            This is to track the Builder List. This field is not required for
            'Subdivision Certificate (SC)' and 'Other' certificate types. And it
            is mandatory for Occupation Certificate (OC) while optional for
            Complying Development Certificate (CDC),Construction Certificate
            (CC),Subdivision Works Certificate (SWC).
          items:
            $ref: '#/components/schemas/Builder'
        addressDidNotDisplay:
          type: boolean
          description: >-
            The respective attribute to be selcted as true if user wants to
            provide address manually and by not using spatial viewer.
        siteAddresses:
          type: array
          items:
            $ref: '#/components/schemas/Location'
        DevelopmentApplication:
          type: object
          properties:
            CostOfDevelopment:
              type: string
              description: reuired for Subdivision work certificate
            developmentDescription:
              type: string
              description: optional
        commonApplicationTypes:
          type: array
          items:
            $ref: '#/components/schemas/CommonApplicationType'
          description: >-
            This is to track the common Application types.This is applicable for
            CR-CC, CR-OC, CR-PCA and is required for it's corresponding parent
            cases that are created after 1st of September'23. Example values are
            1. Advertising and signage 2. Alterations or additions to an
            existing building or structure 3. Change of use of land or a
            building or the classification of a building under the Building Code
            of Australia 4. Demolition 5. Erection of a new structure 6. Hours
            of operation and trading 7. Subdivision 8. Temporary building,
            structure or use
        subdivisionTypes:
          type: array
          items:
            type: string
          description: >-
            This is to track the appropriate subdivision types. This is
            applicable when 'Subdivision' is one of the common application
            type('commonApplicationTypes').This is not applicable for CR-CC &
            CR-OC. Example values are 1. Strata Title 2. Community Title 3.
            Torrens Title 4. Stratum Title
        numOfExistingLots:
          type: integer
          description: >-
            This is to track the number of existing lots. This is applicable
            when 'Subdivision' is one of the common application
            type('commonApplicationTypes').This is not applicable for CR-CC &
            CR-OC.
        numOfProposedLots:
          type: integer
          description: >-
            This is to track the number of proposed lots. This is applicable
            when 'Subdivision' is one of the common application
            type('commonApplicationTypes').This is not applicable for CR-CC &
            CR-OC.
        DevelopmentType:
          type: array
          items:
            $ref: '#/components/schemas/CRDevelopmentType'
        developmentPurpose:
          maxLength: 20
          type: string
          description: required only if 'OTHER' is selected for development type
        isDevAffectingExistingBuilding:
          type: boolean
          description: >-
            It infers that is Existing building affected by the development or
            not. If the value is Yes then Record of inspection document type is
            mandatory document to be provided. isDevAffectingExistingBuilding is
            mandatory field for Construction Certificate only.
        ConsentList:
          type: array
          items:
            $ref: '#/components/schemas/consentList'
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedByEmail:
          maxLength: 250
          type: string
          description: >-
            This indicates the email address of the user updating CR. User must
            be registered in the planning portal and would belong to the
            relevant organisation.
          example: john.smith@gmail.com
    CommonApplicationType:
      type: object
      required:
        - commonApplicationType
      properties:
        commonApplicationType:
          type: string
    CRDevelopmentType:
      required:
        - typeOfDevelopment
      type: object
      properties:
        typeOfDevelopment:
          type: string
    consentList:
      required:
        - consent
      type: object
      properties:
        consent:
          type: string
          description: >-
            By performing this operation, the certifier is providing their
            consent to all declarations when registering the application with
            Council in the Certificate Registration service. Note&#58; The NSW
            Planning Portal will not be comparing the text received for each
            declaration. For more information on the applicable declarations,
            please refer to the key 'consentlist' using the 'Reference Data
            API'. Below are the example declaration values. 1. I have read and
            agree to the collection and use of my personal information as
            outlined in the Privacy Notice. 2. I understand that if incomplete,
            the Council may request more information. 3. I understand that a
            payment needs to be made for the registration to be submitted to the
            Council. 4. I agree to pay any required NSW Planning Portal Service
            Fee/s specified under Clause 263B of the Environmental Planning and
            Assessment Regulation 2000 to the Department of Planning, Housing
            and Infrastructure.
          example: Refer to description for values
    IndividualDetails:
      required:
        - email
        - familyName
        - firstName
      type: object
      properties:
        firstName:
          maxLength: 20
          type: string
        otherGivenName:
          maxLength: 20
          type: string
        familyName:
          maxLength: 20
          type: string
        contactNumber:
          maxLength: 10
          minLength: 8
          pattern: ^[0-9]+$
          type: string
        email:
          maxLength: 250
          type: string
          format: email
    Contact:
      type: object
      properties:
        Title:
          $ref: '#/components/schemas/Title'
        ContactPerson:
          $ref: '#/components/schemas/IndividualDetails'
        address:
          maxLength: 250
          type: string
        companyname:
          maxLength: 50
          type: string
    CertifierDetails:
      required:
        - accreditationNumber
        - address
        - CertifierPerson
      type: object
      properties:
        Title:
          $ref: '#/components/schemas/Title'
        CertifierPerson:
          $ref: '#/components/schemas/IndividualDetails'
        address:
          maxLength: 250
          type: string
        accreditationNumber:
          maxLength: 50
          type: string
          description: BPB accreditation number
        companyName:
          maxLength: 250
          type: string
    CertificateInformation:
      required:
        - CDCNumber
        - CertifierReferenceNumber
        - DANumber
        - IsCDCDetermined
        - IsDADetermined
        - IsDevelopmentTypeResidential
        - certificateIssued
      type: object
      properties:
        ApplicationDate:
          type: string
          description: >-
            Displayed if 'Was certificate issued? ' = yes,Must only be a past or
            current date. Cannot be a future date.
          format: date
        CertifierReferenceNumber:
          maxLength: 50
          type: string
        DANumber:
          maxLength: 20
          type: string
          description: >-
            Display only if user selected 'Yes' for Has the DA been determined?
            and only applicable when CertificateType is Construction Certificate
            (CC) (OR) Occupation Certificate (OC) (OR) Subdivision Certificate
            (SC) (OR) Subdivision Works Certificate (SWC)
        DateOfDetermination:
          type: string
          description: >-
            Display only if user selected 'Yes' for Has the DA been
            determined?Can be current or past date, cannot be a future date and
            only applicable when CertificateType is - Construction Certificate
            (CC) (OR) Occupation Certificate (OC) (OR) Subdivision Certificate
            (SC) (OR) Subdivision Works Certificate (SWC)
          format: date
        DateOfIssue:
          type: string
          description: >-
            Displayed if 'Was certificate issued? ' = yes,Must only be a past or
            current date. Cannot be a future date.
          format: date
        DateOfNotification:
          type: string
          description: >-
            Displayed if 'Was certificate issued?' = yes,Can be past or current
            date but must not be future date.
          format: date
        DateofWorkCommencement:
          type: string
          description: >-
            Displayed if 'Was certificate issued? ' = yes,Display only for CDC,
            OC and CC and SWC certificate types,This can be past, current or
            future date.
          format: date
        IsDADetermined:
          type: boolean
          description: >-
            Available options are Yes/No selection and only applicable when
            CertificateType is - Construction Certificate (CC) (OR) Occupation
            Certificate (OC) (OR) Subdivision Certificate (SC) (OR) Subdivision
            Works Certificate (SWC)
        IsDevelopmentTypeResidential:
          type: boolean
        certificateIssued:
          type: boolean
          description: Available options are Yes/No selection
        PrincipalCertifyingAuthority:
          maxLength: 50
          type: string
        IsCDCDetermined:
          type: boolean
          description: >-
            Available options are Yes/No selection and only applicable when
            CertificateType is - Occupation Certificate (OC) (OR) Subdivision
            Certificate (SC) (OR) Subdivision Works Certificate (SWC)
        CDCNumber:
          maxLength: 40
          type: string
          description: >-
            Display only if user selected 'Yes' for Has the CDC been determined?
            and only applicable when CertificateType is - Occupation Certificate
            (OC) (OR) Subdivision Certificate (SC) (OR) Subdivision Works
            Certificate (SWC)
        DateOfCDCDetermination:
          type: string
          description: >-
            Display only if user selected 'Yes' for Has the CDC been
            determined?Can be current or past date, cannot be a future date and
            only applicable when CertificateType is - Occupation Certificate
            (OC) (OR) Subdivision Certificate (SC) (OR) Subdivision Works
            Certificate (SWC)
          format: date
    Builder:
      type: object
      properties:
        Title:
          $ref: '#/components/schemas/Title'
        builderPerson:
          $ref: '#/components/schemas/IndividualDetails'
        address:
          maxLength: 250
          type: string
        licensenumber:
          maxLength: 20
          type: string
        insurerDetail:
          type: array
          items:
            $ref: '#/components/schemas/InsurerDetailsIn'
    DocResponse:
      title: DocResponse
      type: object
      properties:
        documentName:
          type: string
          description: documentName which was uploaded as part of respective API opeartion
          example: test.docx
        documentType:
          type: string
          description: Type of Document under which repsective document was uploaded
        eplanningDocId:
          type: string
          description: DocId of the respective document which was uploaded
        externalOrgDocURL:
          type: string
          description: URL of the document which was uploaded
    InsurerDetailsIn:
      required:
        - InsurerLicenseNumber
        - RegisteredBusinessName
      type: object
      properties:
        InsurerLicenseNumber:
          type: string
          description: >-
            Displayed if user entered a date for "Date that works are proposed
            to commence" and if the development type is residential
        RegisteredBusinessName:
          type: string
          description: >-
            Displayed if user entered a date for "Date that works are proposed
            to commence" and if the development type is residential
    Title:
      type: string
      description: >-
        One of the below mentioned values must be selected for Title. For latest
        values, please refer to the reference data API. 1. Miss 2. Mr 3. Mrs 4.
        Ms
      example: Refer to description for values
    CRCaseDetailsResponse:
      type: array
      items:
        $ref: '#/components/schemas/CRCaseDetailsResponseList'
    CRCaseDetailsResponseList:
      type: object
      required:
        - caseID
        - submittedDate
      properties:
        caseID:
          type: string
          description: This refers to the caseID of the case.
        submittedDate:
          type: string
          description: This refers to the date on which the case was submitted.
          format: date
        certifiersCertificateReferenceNumber:
          type: string
          description: This refers to the certifiers Certificate reference number.
        DANumber:
          type: string
          description: This refers to the DAnumber that is related to the certificate
        CDCNumber:
          type: string
          description: This refers to the CDCnumber that is related to the certificate.
        accreditationNumber:
          type: string
          description: This refers to the the Registration Number of the certifier.
        certificateType:
          type: string
          description: >-
            This refers to the type of certificate for which the case of
            created.
        dateOfIssue:
          type: string
          description: This refers to the Certificate's date of issue.
  securitySchemes:
    api_key:
      type: apiKey
      name: api-key
      in: header
